/*
 * Título: gestHora. Aplicación web de gestión de horarios para conservatorios.
 * Alumnos:
 * - Javier Pardo Muñoz. I.T. Informática de Gestión
 * - Antonio Prior Cazorla. I.T. Informática de Gestión
 * Director: Dr. José Raúl Romero Salguero.
 *     
 *  Copyright (C) 2013 Javier Pardo Muñoz / Antonio Prior Cazorla
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

function rellenarSelectAsignaturaEditar(id) {

    $.getJSON("/gestHora/jsp/controllers/gestionGrupoController.jsp", "tipo=listarAsignatura", function(data) {
        $('#editarSelectAsignatura').empty();
        $("<option value='null' selected>Seleccione una Asignatura</option>").appendTo("#editarSelectAsignatura");
        $.each(data, function(i, asignatura) {
            if (asignatura.idAsignatura === id) {
                $("<option value= " + asignatura.idAsignatura + " selected>" + asignatura.nombreAsignatura + "</option>").appendTo("#editarSelectAsignatura");
            } else {
                $("<option value= " + asignatura.idAsignatura + ">" + asignatura.nombreAsignatura + "</option>").appendTo("#editarSelectAsignatura");
            }
        });
    });
}


function rellenarSelectGrupoEditar(idGrupo) {
    $.getJSON("/gestHora/jsp/controllers/gestionGrupoController.jsp", "tipo=editarGrupo&id=" + idGrupo, function(data) {
        $('#editarSelectGrupo').empty();
        $.each(data, function(i, grupo) {
            $("#editarNumeroGrupo").val(grupo.numeroGrupo);
        });
    });
}

function rellenarSelectAulaEditar(id) {
    $.getJSON("/gestHora/jsp/controllers/gestionGrupoController.jsp", "tipo=listarAula", function(data) {
        $('#editarSelectAula').empty();

        $.each(data, function(i, aula) {
            if (aula.idAula === id) {
                $("<option value= " + aula.idAula + " selected>" + aula.nombreAula + "</option>").appendTo("#editarSelectAula");
            } else {
                $("<option value= " + aula.idAula + ">" + aula.nombreAula + "</option>").appendTo("#editarSelectAula");
            }
        });
    });
}

function editorGrupo(id) {

    $.getJSON("/gestHora/jsp/controllers/gestionGrupoController.jsp", "tipo=editarGrupo&id=" + id, function(data) {
        //insertamos la información del especialidad en la View 
        $.each(data, function(i, grupo) {
            $("#editarId").val(grupo.idGrupo);
            rellenarSelectAsignaturaEditar(grupo.idAsignatura);
            rellenarSelectProfesorEditar(grupo.idProfesor);
            rellenarSelectGrupoEditar(grupo.idGrupo);
            $("#editarPlazas").val(grupo.plazasGrupo);
            rellenarSelectAulaEditar(grupo.idAula);

        });
        $('#formEdicionGrupo').fadeOut();
        $('#formEditarGrupo').fadeIn();
        $('#formNuevoGrupo').fadeOut();
    });
}

function listarGrupos() {
    var newHTML;
    $.ajax({
        url: "/gestHora/jsp/controllers/gestionGrupoController.jsp",
        dataType: 'json',
        data: "tipo=listarGrupos",
        async: false,
        success: function(json) {
            //Se recuperan los JSON donde estara la información de las especialidades
            //Se crea una newHTML donde crearemos el codigo html que se enviará a la View 
            newHTML = "<h3>Listado actual de grupos</h3><form class='formVistasGrupos'>\n\
                        <label for='buscar'>Filtrado: </label><input type='text' name='buscar' value='' id='buscar' onkeypress='return event.keyCode!=13'/><br/><br/></form><table class = 'tablaView rowstyle-alt paginate-10 sortable-onload-show-2'><thead><tr><th class=sortable-text>ID</th><th class=sortable-text>Asignaturas</th><th class=sortable-text>Especialidades</th><th class=sortable-text>Profesor</th><th class=sortable-text>Plazas</th><th class=sortable-text>Grupo</th><th>Editar</th><th>Eliminar</th></tr></thead>";
            //Se rellena las tablas
            $.each(json, function(i, grupo) {
                newHTML += "<tr><td>" + grupo.idGrupo + "</td><td>" + grupo.nombreAsignatura + "</td><td>";
                $.ajax({
                    url: "/gestHora/jsp/controllers/gestionAsignaturaController.jsp",
                    dataType: 'json',
                    data: "tipo=listarEspecialidadAsignatura&id=" + grupo.idAsignatura,
                    async: false,
                    success: function(data) {
                        $.each(data, function(i, especialidad) {
                            newHTML += especialidad.nombreEspecialidad + ", ";
                        });
                    }
                });
                newHTML += "</td><td>" + grupo.nombreProfesor + " " + grupo.apellido1Profesor + " " + grupo.apellido2Profesor + " </td><td>" + grupo.plazasGrupo + " </td><td>" + grupo.numeroGrupo + " </td><td>" +
                        "<a href=javascript:void(0); onclick=editorGrupo(" + grupo.idGrupo + ");> <img src=/gestHora/img/editar.png alt=editar></a></td><td>" +
                        "<a href=javascript:void(0); onclick=confirmar(" + grupo.idGrupo + ");> <img src=/gestHora/img/eliminar.png alt=eliminar</a></td></tr>";
            });

            newHTML += "</table>";
            //enviamos la tabla a las View
            $("#tabla").html(newHTML);
            //Se crea el filtrado de la tabla
            creaFiltrado();
            tablePaginater.init();
            fdTableSort.init();
        }
    });
}

function rellenarSelectAula() {
    $('#selectAula').empty();
    $.getJSON("/gestHora/jsp/controllers/gestionGrupoController.jsp", "tipo=listarAula", function(data) {

        $.each(data, function(i, aula) {
            $("<option value= " + aula.idAula + ">" + aula.nombreAula + "</option>").appendTo("#selectAula");
        });
    });
}